home *** CD-ROM | disk | FTP | other *** search
/ Aminet 1 (Walnut Creek) / Aminet - June 1993 [Walnut Creek].iso / aminet / util / misc / macro_1_0.lha / Macro.doc < prev   
Text File  |  1992-09-06  |  4KB  |  106 lines

  1.      MACRO v1.0
  2.   
  3.    From an idea developed by Marco Munari for MS-DOS
  4.    Amiga implementation by Piero Filippin 
  5.  
  6.  
  7. WHAT IS MACRO?
  8.  
  9. Macro  is  a  small  utility  that  records  a  sequence of keypress and, if
  10. required, reinsert at current cursor position (even if another window).
  11.  
  12. This  is  version  1.0 - no configurable and slow - but it hasn't major bugs
  13. (known)  and  work  even with Kick 2.0.  It uses only (!?!) 12 KBytes (4 for
  14. buffer, 4 for stack and some for info window and code).
  15.  
  16. HOW MUST I USE MACRO?
  17.  
  18. Using is very simple:
  19.  
  20. Call it from CLI without using RUN:  MACRO puts itself in background (I used
  21. Lattice CBack.o).
  22.  
  23. When  MACRO  status  is  IDLE you can record some chars into buffer (LeftALT
  24. LeftShift  CTRL  [,  status:   Recording),  or  erase  if not empty (LeftALT
  25. LeftShift CTRL e, status:  Buffer cleared).
  26.  
  27. When  recording,  type what do you want, then press LeftALT LeftShift CTRL ]
  28. (status:   Recording)  to  terminate.  Now you are ready to insert this text
  29. everywhere  you  like  pressing  LeftALT  LeftShift  CTRL i (status:  Buffer
  30. inserted).
  31.  
  32. The buffer isn't cleared if not specified:  if you start recording and there
  33. are  some  chars  in buffers, new chars will be appended to buffer (so don't
  34. forget to delete it if needed!).
  35.  
  36. TECNICAL NOTES
  37.  
  38. The  program  install  a  new  input  handler  with  a priority greater than
  39. intuition  handler.   When an event occours in the system, control is passed
  40. to  myhandler().   This  function  checks  event list until if find a RAWKEY
  41. event.   If  the event is a MACRO control code, the function removes it from
  42. list  and send proper signal to main program, else it don't remove the event
  43. (so  it  can  be handled by Intuition).  The function RawKeyInsert inserts a
  44. new event into event-not-already-handled-by-intuition-routines.
  45.  
  46. To compile I used Lattice C 5.10:
  47.  
  48. lc -L -rr <-dINFOWINDOW> <-dDEBUG> <-dBUFFER=buffersize> macro.c
  49.  
  50. (It probably can be compiled only under recent Lattice versions)
  51.  
  52. If you defines INFOWINDOW, a window will be opened telling you MACRO current
  53. states.   You  can  also  define DEBUG, that print to CLI launch window some
  54. debug  infos,  but it makes start window unusable (I used it only for debug,
  55. when  I  haven't  yet decided to use a window).  With BUFFER, you can change
  56. the default size of the buffer (remember:  key_stored=buffersize/4 ).
  57.  
  58. LIMITATION AND BUGS
  59.  
  60. MACRO loss 2728 bytes when you quit (I don't know why)
  61. MACRO  has a standard buffer size of 4 KBytes; this means that it can record
  62. 4000/(sizeof(code)+sizeof(qualifier)) = 1000 keypress!
  63.  
  64. MACRO  uses  RAWKEY, so it is not setmap-sensitive.  It makes no differences
  65. when  you  record-insert,  but  command  keys  can change:  q , e , i , [, ]
  66. refers to a standard gb keyboard (they are TAB - row keys).
  67.  
  68. TAB q w e r t y u i o p [ ] RET
  69.  
  70. MACRO  sources  are  supplied, but it don't includes any #include (he he); I
  71. used precompiled headers ( -Hname under Lattice).
  72.  
  73. FUTURE IMPROMEMENTS
  74.  
  75. Multiple macro definitions
  76. Possibility of saving useful macros
  77. Macro display in info window
  78. Macro editing
  79. Keymap mapped control codes
  80. More speed
  81.  
  82. AUTOR NOTES
  83.  
  84. This  program  is  Public  Domain.  You can copy, distribute, spread if only
  85. with  its  doc  and  source.   You  cannot sell it.  I encourage to read the
  86. source, and use parts of it in your programs if they are PD else it requires
  87. written permission.
  88.  
  89. I  don't  require money if you use it, but it is obiously pleased (or if you
  90. prefer  other  PD  software,  greeting cards or your sister photo (if really
  91. nice), suggestion for improvement...)
  92.  
  93. I'm sorry for lots of error in this doc
  94.  
  95. My home address is:
  96.  
  97.     Via G.Cantore 10
  98.     Conegliano Veneto (TV)
  99.     31015 ITALY
  100.  
  101. My InterNet e-Mail address is:
  102.  
  103. omega@sabrina.dei.unipd.it (at Padova university)
  104.  
  105. *** END OF FILE ***
  106.